參與iT邦JavaScript中忍比賽,獲得一本JS武林祕級“JavaScript設計模式”,因而閉門修練月餘,今神功既成故節錄三十片段,以饗邦友。
使用DOM樹是客戶端JS最常進行的工作之一,同時也是造成使用者頭痛的主因,不僅如此,更打壞了JS名聲。因為在不同瀏覽器上DOM的實作並不一致,這也是為什麼要使用一個好的JS framework,抽象化瀏覽器間的差異,進而提昇開發效率。
DOM的存取是十分昂貴耗時的,也是最常見的JS效能瓶頸。因此最低限度是DOM的存取應該盡量減至最少,其中技巧如下:
==================
(1)避免在迴圈中存取DOM
(2)將DOM參考指派給區域變數,並用變數來操作
(3)使用selector API
(4)預先快取HTML元素length
==================
先看範例:
速度慢,不要這樣作
for (var i = 0; i < 100; i++){
document.getElementById("result").innerHTML += i + ",";
};
較佳,處理的是區域變數,最後才動到DOM
var i, content = "";
for (var i = 0; i < 100; i++){
content += i + ",";
};
document.getElementById("result").innerHTML += content;
今天就上到這,進廣告囉~
(待)